Method and system for automated custom design of a storage assembly

ABSTRACT

A custom storage assembly design module automates design of a storage assembly by automatically generating a recommended layout based on a user defined storage location. The design module, which can be communicatively coupled to a remote communications device including a monitor, provides custom design options in view of the recommended layout for the storage assembly, and monitors the selection of custom design options to avoid violation of allowance rules for the defined storage location. The design module displays the storage assembly with currently selected custom design options and also associated pricing information throughout the design process.

CROSS REFERENCE TO RELATED APPLICATION

This application claims the benefit of U.S. Provisional Application No.60/497,042 filed Aug. 22, 2003, assigned to the assignee of thisapplication and incorporated by reference herein.

FIELD OF THE INVENTION

The present invention relates generally to design of a storage assemblyand, more particularly, to automated custom design of a storageassembly.

BACKGROUND OF THE INVENTION

The design of a storage assembly, such as a closet organizer forinstallation in a closet of a residential home, is usually a difficultand time consuming experience for an ordinary consumer. For example, todesign a suitable and desired custom closet organizer, the consumerinitially must accurately measure all of the walls of the closet inwhich the closet organizer is to be installed, identify potentialstorage elements that can be included in the closet organizer and thensort through and decide among the various storage elements and alsopotential configurations for the selected storage elements. Then, theconsumer must decide which of the individual walls of the closet are toinclude particular storage elements or configurations of storageelements. The selection of storage elements is further complicatedbecause the consumer must also consider the interconnection mechanismsof differently shaped and sized storage elements to ensure that theselected storage elements can physically be joined together according torules for assembly of the storage assembly, while still fitting into thespace in the closet available for installation of the storage elements.

Although some computer-based storage assembly custom design softwareapplications are available, many of these applications do not provide anadequate level of assistance and checks on the practicability ofdesired, custom storage assembly design for the ordinary consumer whodesires to design a custom storage assembly. First, a large majority ofthese applications are stand alone products that do not provide any orcurrent pricing and do not have an appropriately intuitive interface forassisting the consumer in the design process. In addition, in somecomputer-based design software applications providing for online designcapabilities, the consumer oftentimes can design the storage assemblyusing only the design capabilities that are available online, and thenmust subsequently make several modifications to the design offline.These offline modifications can be based upon, for example, an offlinecalculation of the cost of certain custom design options offered by acustom design storage assembly seller or manufacturer.

In addition, current software applications do not guide the consumer todesign a custom storage assembly for a particular type of storagelocation using an initial proposed layout of storage elements that canbe readily and easily installed in the storage location. The consumerattempting to custom design a storage assembly from scratch, therefore,is likely to quickly become frustrated and not proceed past the firststep of developing an initial layout for a storage assembly from whichfurther customization can be performed.

In addition, many applications do not link the selection of customdesign options by a consumer to allowance rules for design of a storageassembly that are commonly known in the design industry. These allowancerules avoid design of a custom storage assembly that is non-functional,or an assembly that is impossible to install and does not fit into oroptimally utilize available space within a storage location.

Therefore, a need exists for a system and method for designing a customstorage assembly that an ordinary consumer can easily use, thatautomates the process of designing a custom storage assembly in view ofavailable space in a storage location, that utilizes the appropriaterules for designing storage assemblies that can be readily and correctlyinstalled at a consumer's location and automatically calculates costthroughout the design process.

SUMMARY OF THE INVENTION

In accordance with the present invention, a custom storage assemblydesign module that is communicatively coupled to a computer terminalcontrols exchange of storage assembly design information between theterminal and the module so as to automate design of a custom storageassembly by a user operating the terminal. The design module generatesgraphic screen displays at the terminal that guide the user to define astorage location. Based on the user defined storage location, the designmodule automatically generates and displays a recommended layout for thestorage assembly, and then displays custom design options that the usercan select to customize the storage assembly for the storage location.The design module preferably monitors the selection of custom designoptions by the user to ensure that custom modifications to the storageassembly do not violate allowance rules for the storage location. Thecustom design of the storage assembly, in accordance with the allowancerules, maximizes use of available space in the storage location whileensuring that the user can install the custom storage assembly withrelative ease in the storage location.

In a preferred embodiment, the user initially supplies storage locationdefinition information to the design module. The design module then usesthe definition information to compute usable space for the storagelocation in view of allowance rules specific to the type of storagelocation defined by the user. Based on the computed usable space, thedesign module automatically generates and displays a recommended layoutfor a storage assembly. The storage assembly includes at least one unit,each unit includes at least one section and each section includes atleast one item. In addition, the design module displays custom designoptions that the user can select to customize items and sections withina unit of the storage assembly. As the user selects the design options,the design module automatically displays the customized storage assemblyincluding the selected design options and also pricing informationcorresponding to the currently selected customized design of the storageassembly. At any time during the custom design process, the user cansave information representative of the custom storage assembly to thedesign module for later retrieval and further customization of thestorage assembly, or alternatively proceed directly to screen displaysthat provide for purchase and manufacture of the storage assembly andthen shipping of the storage assembly to the user.

BRIEF DESCRIPTION OF THE DRAWINGS

Other objects and advantages of the present invention will be apparentfrom the following detailed description of the presently preferredembodiments, which description should be considered in conjunction withthe accompanying drawings in which like references indicate similarelements and in which:

FIG. 1 is a functional block diagram of an automated custom storageassembly design system in accordance with the present invention.

FIG. 2 is a flow diagram illustrating a preferred process for automatedcustom storage assembly design in accordance with the present invention.

FIGS. 3A and 3B are graphic, computer generated screen displays thatillustrate the automated definition of a storage location in accordancewith the design process of FIG. 2.

FIG. 4 is a flow diagram of a process for automatically generating arecommended layout of a storage assembly in accordance with the designprocess of FIG. 2.

FIG. 5 is a graphic, computer generated screen display of an exemplaryrecommended layout of a storage assembly produced in accordance with thedesign process of FIG. 2.

FIG. 6 is a flow diagram of a process for customizing the design of aselected unit of a storage assembly produced in accordance with thedesign process of FIG. 2.

FIG. 7 is a graphic, computer generated screen display of a selectedunit of a storage assembly undergoing automated custom design inaccordance with the process of FIG. 6.

FIG. 8 is a graphic, computer generated screen display of a selectedsection of a storage assembly undergoing automated custom design inaccordance with the process of FIG. 6.

FIG. 9 is a graphic, computer generated screen display includingrendering and purchasing information for a storage assembly undergoingautomated custom design in accordance with the process of FIG. 6.

DETAILED DESCRIPTION OF THE INVENTION

For purposes of highlighting the features of the present invention, theinventive automated custom storage assembly design system and method aredescribed below in connection with the design of a closet assembly forinstallation in a closet in a residential home. It is to be understood,however, that the automated custom storage assembly design system andmethod of the present invention can be applied to the design of a customstorage assembly for installation in any type of residential orcommercial storage location, such as in a garage, kitchen, office, etc.

FIG. 1 is a preferred embodiment of an automated custom storage assemblydesign system 10 in accordance with the present invention. Referring toFIG. 1, the system 10 includes a user terminal 12 that iscommunicatively coupled to an electronic design module 14 via acommunications network 16. The user terminal 12 is a conventionalcomputer, such as a stand alone personal or laptop computer including amonitor, mouse and keyboard, having communications capability and that auser can operate to establish a communications link with a remotecommunications device over a communications network, such as theInternet. The terminal 12 preferably is located remotely from the designmodule 14.

The network 16 is any conventional communications network, such as theInternet or any wired or wireless electronic network or an optical fibernetwork, that serves as a medium for establishing a communications linkbetween two communication devices.

In accordance with the present invention, the design module 14 automatescustom design of a storage assembly by controlling the exchange ofstorage assembly design information between the design module 14 and theuser terminal 12. Graphic, computer generated screen displays that thedesign module 14 causes to appear at the monitor of the user terminal 12facilitate the exchange of the storage assembly design informationbetween the terminal 12 and the design module 14. The displays includeinteractive functionalities, such as selection icons and data inputboxes, that provide for transmission of storage assembly designinformation between the module 14 and the terminal 12 over the network16. Based on information defining a storage location entered by the userat the terminal 12, the design module 14 automatically generates anddisplays at the terminal 12 a recommended layout for a storage assemblyfor the defined storage location. In addition, the design module 14displays at the terminal 12 custom design options that the user canselect to customize any component of the storage assembly. The module 14automatically updates the display of the storage assembly, insubstantially real time, while the storage assembly undergoescustomization so that the display shows the storage assembly includingthe custom design options currently selected by the user and alsopricing information corresponding to the current, customized storageassembly.

The automated generation of a recommended layout for a storage assemblybased on a defined storage location, and the automatic updating of thedisplay to show the current, customized storage assembly and alsocorresponding pricing information, provides that a user can design, withgreat ease and minimal effort, a custom storage assembly from alocation, such as the user's home, that is remote from a locationcontaining the design module 14. For example, the design module 14 canbe a centralized computer processing and network server system that canestablish communication links with remotely located user terminals. Themodule 14 further can be included in, or communicatively coupled to, afacility containing computer controlled equipment for manufacturing acustom storage assembly. The manufacturing equipment preferably has thecapability to directly use custom storage assembly information, whichthe module 14 generates to represent the custom storage assemblydesigned by a user, to manufacture the storage assembly. Advantageously,the design module 14 makes detailed information concerning thearrangement of individual storage components in the storage assemblyundergoing custom design, and also pricing information for the storageassembly as customized by the custom design options selected by theuser, always available for contemporaneous review by the user at theterminal 12 during the custom design process.

Referring again to FIG. 1, the design module 14 includes a storageassembly design controller 20 that is coupled to each of a networkconnector 22, a customer data module 24, a pricing and purchasing module26, an automated recommended layout module 28 and a custom unit designmodule 30. The custom unit design module 30 further includes a renderingmodule 32 and a custom section builder module 34. It is to be understoodthat each of the modules in the design module 14 that is described belowas performing data processing operations is a software module or,alternatively, a hardware module or a combined hardware/software module.In addition, each of the modules in the design module 14 suitablycontains a memory storage area, such as RAM, for storage of data andinstructions for performing processing operations in accordance with thepresent invention. Alternatively, instructions for performing processingoperations can be stored in hardware in one or more of the modules ofthe design module 14.

The network connector 22 is any conventional device, such as a modem,that provides the design module 14 with the capability to exchangeinformation over a communications network, such as the Internet.

The controller 20 interacts with the modules 22, 24, 26, 28 and 30 toeffectuate the transfer of storage assembly design information, such asstorage location definition information and custom design optionselections, supplied at the user terminal 12 to one or more of themodules 24, 26, 28 and 30, as suitable. In addition, the controller 20suitably routes data among or between the modules within the designmodule 14, as may be required, and causes storage assembly designinformation that one or more the modules 24, 26, 28 generates to bedisplayed at the user terminal 12. The storage assembly designinformation generated by a module of the design module 14 can include,for example, a recommended layout of a storage assembly, the storageassembly as modified by custom design options selected by the user andpricing for the storage assembly as modified by the selected customdesign options.

For ease reference, the operations performed by the controller 20 tocause a graphic screen display to be generated at the user terminal 12,where the display includes storage assembly design information generatedat one or more the modules included in the design module 14, isdescribed below simply as the module of the design module 14 displayingthe design information at the user terminal 12 as a screen display. Inaddition, for ease reference, the processing operations that the modules24, 26, 28, 30, 32 and 34 perform to generate storage assembly designinformation are described below without identifying the conventionaldata routing operations that the controller 20 may need to perform totransfer data among or between the modules 24, 26, 28, 30, 32 and 34.

FIG. 2 illustrates a preferred flow process 50 for designing a customstorage assembly, in accordance with the present invention, based on theexchange of storage assembly design information between the terminal 12and the design module 14 over the network 16. The process 50automatically generates a recommended layout for a storage assemblybased on a storage location definition supplied by the user at theterminal 12. The process 50 automatically modifies the storage assemblyto achieve a custom storage assembly based on custom design options thatthe design module 14 displays at the terminal 12 and are selected by theuser. In a preferred embodiment, the recommended layout for a storageassembly that a user initially selects for customization cannot bestructurally modified by the user during customization to obtain alayout that violates design allowance rules for the defined storagelocation. The customization of the design of the storage assembly inaccordance with the allowance rules avoids design of a storage assemblythan cannot be easily installed and does not optimally use the availablespace within the storage location.

For ease of reference, a storage assembly is described herein in termsof items, sections and units. An item is a specific component used inthe construction of a storage assembly. For example, where the storageassembly is a closet assembly, an item can constitute a shelf, closetrod, drawer or accessory. A section is a group of items positioned onone side of a vertical divider panel, or between adjacent verticaldivider panels, that will be installed on a wall of a storage location.For example, a group of items in a closet assembly can constitute a tallhanging section, a double hanging section or a drawer section. A unitconstitutes a single section or a group of sections of the storageassembly that extends along the same wall of the storage location.

For purposes of illustrating the present invention of automated designof a custom storage assembly, the process 50 is explained below inconnection with the exchange of storage assembly design informationbetween the user terminal 12 and the design module 14 of the system 10to design a custom closet assembly. Referring to FIG. 2, in flow step 60of the process 50, the user at the user terminal 12 supplies to thedesign module 14 over the network 16 the shape and measurementinformation needed to define the storage location of a closet in which acustom closet assembly, designed in accordance with the presentinvention, will be installed. For ease of reference herein, it isassumed that storage assembly design information supplied at the userterminal 12 is automatically transmitted to the module 14 over acommunications link established on the network 16 using techniques thatare conventional and well known in the art. In addition, it also assumedthat the storage assembly design information generated at the module 14for display at the user terminal 12 is automatically transmitted to theterminal 12 on the network 16 over the same communications link, alsousing techniques that are conventional and well known in the art. Inflow step 60, the shape and measurement information preferably includewall angles and measurements of the heights and widths of walls thatdefine the closet.

Based on the storage location definition information, the storageassembly controller 20 automatically generates and displays at the userterminal 12 a graphical representation of the walls and doorways of thecloset that, preferably, is precisely to scale. In addition, thecontroller 20 stores the closet definition information in the customerdata module 24. As discussed below in connection with flow step 70, thelayout module 28 uses the closet definition information to compute howmuch space is available in the closet for installation of a customcloset assembly.

In a preferred embodiment of the flow step 60, the controller 20displays at the user terminal 12 several predefined closet templatesthat represent the most common closet shapes that occur in the typicalhome. Based on the displayed predefined templates, the user at theterminal 12 selects the appropriate template and then suppliesadditional closet definition information, such as wall and anglemeasurements, as necessary. For example, referring to FIG. 3A, thecontroller 20 generates a screen display 60A at the user terminal 12that includes a textbox 61 for entering a name of the closet to bedesigned. The screen display 60A also includes predefined templates 63Aand 63B that are selection options and define general shapes of a closetlocation, such as a REACH-IN and BOX WALK-IN closet. In addition, thedisplay 60A includes an IRREGULAR CLOSET template 63C as a selectionoption. In a preferred embodiment, the templates 63 include customcloset assembly images 62 showing an exemplary custom closet assemblywith goods, such as shoes, pants, etc., arranged therein. The userselects the applicable shape template, such as the template BOX WALK-IN63B, from the display to define the storage location simply by clickingon the SELECT icon associated with the template 63.

After the user selects one of the shape templates 63, the controller 20displays a new screen display 60B, such as shown in FIG. 3B, at the userterminal 12. The display 60B shows the selected template 63B and also ameasurement definition image 65. The definition image 65 includes dataentry boxes 67 in which the user can enter width measurements for theindividual walls 69A-69 that form the selected closet corresponding tothe template 63B.

In an alternative preferred embodiment where the shape of a user closetdoes not match the predefined template options, the user can select theIRREGULAR CLOSET template 63C, as shown in FIG. 3A. Based on thisselection, the controller 20 generates a blank grid screen display atthe user terminal 12. The blank grid display includes conventional,computer aided drawing tools that permit the user to use a mouse to drawout the walls of an irregular closet. The controller 20 preferablyprovides that the irregular closet representation illustrated at theterminal 12 is drawn perfectly to scale.

In a preferred embodiment, the controller 20 is programmed with thefollowing conventional, computer aided drawing features that the usercan access to create an accurate, to scale graphical representation ofthe walls of an irregular closet with relative ease. A cross hair mousecontrol feature permits the user to draw, manipulate the angle of andassign a measurement in fractional inches to each wall of the closet. Asnap feature rounds the wall angles drawn by the user to the nearestcommon angle, such as to 90, 45 or 180 degrees. A connect featurepermits the user to easily connect walls by dragging a first wall withinclose proximity of a second wall to which the first wall is to beconnected, without requiring that the first wall lay precisely on top ofthe second wall. The connect feature also provides that walls areconnected at the appropriate angle. A wall front feature ensures thatone side of a wall is always designated as the wall surface upon whichcomponents of a closet assembly will be installed, and that the oppositeside of the wall is always designated as the back side of the wall andfaces outside the closet, such as into bedrooms, bathrooms etc.

In a further preferred embodiment, the controller 20 includes an addtext feature. The user can activate the text feature on the display atthe user terminal 12 when the user desires to make special notations onthe display, such as to describe any special attributes or featuresrelating to the closet. The controller 20 suitably stores thesenotations with the closet definition information data in the customerdata module 24.

After the necessary closet definition information is supplied in flowstep 60, the automated layout module 28 in flow step 70 automaticallygenerates a recommended layout for a closet assembly based on the closetdefinition information stored in the customer data module 24. Therecommended layout is generated based on the results of a computation ofthe usable space available in the closet performed by the module 28. Theusable space is defined as the length of wall space within the closetupon which custom closet assembly components can be installed. Thecomputation of usable space within the closet is performed usingalgorithms that apply conventional storage assembly design principles,and also associated allowance rules that ensure clearances aremaintained for the storage location for which a custom storage assemblyis being designed. For example, in the custom design of a closetassembly, the layout module 28 applies allowance rules for a closet thatensure adequate clearances are maintained for connecting walls,doorways, unit depths and wall angles.

In a preferred embodiment, the flow step 70 is executed by performingsteps of a subprocess 70A, as shown in FIG. 4. Referring to FIG. 4, instep 72 of the subprocess 70A, the layout module 28 retrieves the closetdefinition information from the customer module 24 and computes, usingconventional closet design principles and associated allowance rules fora closet, usable space for a closet assembly in the user defined closet.The complexity of the computation depends upon whether the closet isdefined from a predefined template, such as the templates 63A or 63B, oris irregular in shape. The module 28, for example, computes usable spacefor each wall in a closet, allowing for clearances for connecting walls,doorways, unit depths and wall angles. The layout module 28 stores thecomputed usable space in the customer module 24 for use in future closetdesign steps.

Then in step 74, the layout module 28, based on the usable space and thecloset definition data stored in the module 24, automatically generatesa recommended layout for a closet assembly. The module 24 generates therecommended layout by selecting a layout from a storage assembly layoutrules database that is contained in the module 28. The database includestypical storage assembly layouts indexed by storage location type,shape, size, usable space and other parameters, and prioritizes layoutpossibilities according to storage assembly layout rules also includedin the database. The layout rules are the rules that professionalstorage assembly designers conventionally consider in the design of astorage assembly. The module 24 automatically sorts through various wellknown configurations of closet assemblies that are stored in thedatabase, and selects a recommended layout whose parameters match thoseof the user defined closet. The module 24 utilizes conventional dataprocessing techniques that are well known in the art to select a storedlayout whose parameters match those of the user defined closet.

In step 76, the module 28 automatically displays at the terminal 12 anoverhead view of the recommended layout of the closet assembly as itwould be installed in the user defined closet. For example, for theselected closet template illustrated in FIG. 3B, the layout module 28 instep 76 displays an exemplary recommended layout of a closet assembly100, such as shown in FIG. 5. The closet assembly 100 includes units101A, 101B, 101C and 101E in an arrangement that satisfies allowancerules for a closet as applied to the user defined closet. The allowancerules, for example, prevent overlap of adjoining units and assignpriority to units having longer lengths, such as the unit 101B, than toadjoining units having shorter lengths, such as the units 101A and 101C.

In step 78, the user either saves the closet assembly with therecommended layout in the customer data module 24, or proceeds to modifythe recommended layout before saving the closet assembly including therevised recommended layout in the module 24. Referring to FIG. 5, in apreferred embodiment, the layout module 28 provides that the user canmodify the recommended layout 100 by clicking on a unit of the layout100, such as the unit 101E. After the user selects the unit formodification, the layout module 28 permits the user to stretch orcontract the selected unit 101E by manipulation of a mouse or otherconventional drawing techniques. The layout module 28 monitors the unitmodifications that the user supplies to prevent a modification of therecommended layout for the closet assembly that would violate theallowance rules for the user defined closet. In a default operating modeof the layout module 28, a user cannot modify any unit of therecommended layout into a form that would not fit into the user definedcloset.

In an alternative preferred embodiment, the user, such as a professionalcloset designer, can override the allowance rules monitoring by thelayout module 28 and generate an unconventional layout for the closetassembly. Referring to FIG. 5, the user can uncheck a user entry box 79,identified as automatic rules engine on the display, that indicateswhether allowance rules monitoring by the module 28 is active or turnedoff.

After flow step 70 is completed, the user in flow step 80 selects customdesign options to customize the design of one or more units within thecloset assembly. The user initially selects a unit of the closetassembly for customization. Then, the custom unit design module 30displays the selected unit at the terminal 12 showing all of itscomponent elements in detail. For each of the sections within theselected unit, the custom unit design module 30 displays suggestedcustom design options and also input boxes for size modifications. Theuser suitably modifies the predefined closet sections within selectedunits of the closet assembly by selecting custom design options andentering size measurements in the input boxes for specific sections, asdesired. The custom design options that the user can select for asection of the selected unit are constrained by the sizes of the unitsdefined in the recommended layout for the closet assembly saved in flowstep 70. In the preferred illustrated embodiment, the user manipulatesthe size and selection options for each closet section of a selectedunit by selecting different menu and size selections displayed at theterminal 12.

In a preferred embodiment, the flow step 80 is performed by executingsteps of a subprocess 80A, as illustrated in FIG. 6. Referring to FIG.6, in step 82 the custom unit design module 30 continuously displays atthe user terminal 12 a unit that the user selects to undergo customdesign and also a miniature overview of the overhead layout saved instep 78. The overhead layout overview is included in the display toorient the user with the overall configuration of the closet assembly toensure that the appropriate sections are placed in the desired areas ofthe closet. In addition, in a preferred embodiment, the custom designmodule 30 provides that the user can switch among units of the closetassembly, which are shown at the bottom of a screen display, so that theuser can design all of the units in the closet assembly from the samescreen display.

Continuing with the exemplary custom design of the closet assembly 100having the layout as shown FIG. 5, in step 82 the custom unit designmodule 30 displays an exemplary screen display 60C, as shown in FIG. 7,at the terminal 12. The display 60C shows an enlarged unit 101B of thecloset assembly 100 as the unit selected for custom design by the user,a miniature overview of the saved recommended layout 100 and reducedimages of all of the units 101A, 101B, 101C, and 101E. The selected unit101B includes closet sections S1, S2, S3 and S4.

In step 84, when the user clicks on a CHANGE icon 77 on the display 60Cfor the section S1, the custom design module 30 displays a menu 85 ofcustom design options for the selected unit 101B. The menu 85 includesdrop down selections that allow the user to choose from a variety ofcustom design options, such as number and type of drawers in a section.The custom unit design module 30 monitors the selection of options toensure that the closet assembly continues to satisfy allowance rulesthat will provide for easy installation in the defined closet. Forexample, the custom design module 30 coordinates the menu selectionswith width options to permit the user to select only those widths thatare available for a given section of the selected unit based on thesaved recommended layout for the closet assembly. In a preferredembodiment, the custom design module 30 provides that the user cancustom design a unit using fractional measurements, such as sixteenthsof an inch, to ensure a custom fit for each unit within the closet.

In step 86, the custom design module 30 requests the user to indicatewhether a non-standard custom design of a section is desired. If yes,the custom section builder module 34 in step 88 displays a menu withcustom design options for each item in a selected section. The module 34preferably display a screen display 89 including an enlarged image ofthe selected section with accompanying clickable dropdown menus adjacentto each item, as shown in FIG. 8. In step 90, the user manipulates thesemenus to move, replace, change or add items within the selected section.Accordingly, the user can configure a section into an unlimited numberof combinations.

In a preferred embodiment, the module 34 monitors modifications enteredby the user to ensure that selected design options for the selectedsection do not conflict with allowance rules for a closet. The allowancerules, for example, maintain a necessary spacing between each specifictype of item within a section, and ensure that a section does not have acumulative length equal to or exceeding the length of the unit withinwhich the section is contained.

Further, the allowance rules preferably ensure that all units for thesaved closet assembly will fit between the walls in the defined closetlocation, allowing for common inconsistencies, such as a wave in thewall, warping wood and walls installed out of square, sometimes foundwith sheetrock walls typically installed in a residence. For example,the custom unit design module 30 ensures that the design of a section ofa unit has a cumulative length that is one-quarter to three quarters ofan inch shorter than the overall length of the unit.

If a standard custom design of a section is indicated in step 86, thecustom design module 30 performs step 92. In step 92, the module 30processes the custom design options entered by the user to ensure thatthe user does not design a section that conflicts with the allowancerules for a closet, such as described above. In a addition, the customdesign module 30 automatically calculates the available width in theunit selected for custom design and expands the sections in the selectedunit to fit the available width.

After step 90 or 92 is completed, such that the user has selected customdesign, width and size options for the sections of the storage assembly,the rendering module 32 in step 94 displays a menu showing availablefinishing and hardware options. Based on user selections, the renderingmodule 32 automatically changes the finishes and hardware for individualitems within the closet assembly, without changing the structuralfeatures of the sections of the closet assembly. In a further preferredembodiment, the user can change the colors of the walls displayed behindthe unit selected for rendering to provide a color scheme on the screendisplay at the terminal 12 that highlights the colors selected for thecloset assembly.

Following step 94, in step 96 the custom design module 30 automaticallyrefreshes the screen display at the user terminal 12 based on therendering options that the user selects, thereby providing that a closetassembly including the currently selected custom design options isalways shown at the user terminal 12. In addition in step 96, thepricing and purchasing module 26 computes pricing information for eachof the units of the closet assembly, based on the rendering and othercustom design options selected by the user, and displays the pricinginformation at the terminal 12 together with the current custom closetassembly. For example, referring to FIG. 9, a screen display 60D at theuser terminal 12 includes the rendering options selected for items ofthe selected unit 101B of the closet assembly 100, a price 121A for theunit 101B including the currently selected rendering options and a price121B for the entire closet assembly 100. Advantageously, thecommunications link established between the user terminal 12 and thedesign module 14 ensures that the display includes current pricing for aselected unit undergoing rendering and also the entire closet assembly100 including the custom design options selected.

Referring again to FIG. 2, after customization of the storage assemblyis completed in flow step 80, the pricing and purchasing module 26 instep 100 displays at the user terminal 12 electronic purchaseinformation for the closet assembly. As part of step 80, the user cansave data representative of the storage assembly including the currentlyselected custom design options in the customer data module 24 for laterretrieval and potential further modification. In addition, the user cansupply payment information, such as a credit card number, and alsoshipping information. The purchasing module 26 then attends tocompleting the purchasing transaction and generating an electronicpurchase order based on the storage assembly custom design informationfor the user stored in the customer data module 24. The purchase orderpreferably includes all of the specifications for the custom designedcloset assembly. The specifications preferably can be used directly byautomated storage assembly manufacturing machinery to manufacture all ofthe components of the custom design closet assembly components, topackage the components with installation instructions that areautomatically generated based on the custom design specification andthen to provide for the shipping of the package to the user at thesupplied shipping address.

In an alternative preferred embodiment, the module 14 or portions of themodule 14 are embodied as software on a portable memory medium, such asa CD-ROM or like computer memory media, that the user can access at theterminal 12 and operate to perform some or all of the functions that themodule 14 performs when the module 14 is contained at a location remotefrom the terminal 12.

In still another preferred embodiment, a remote module 14, based onstorage definition information supplied by a user via an email message,transmits a recommended layout for a storage assembly to the userterminal 12 in the form of an email message. The message includes ahyperlink to the module 14 that permits the user to customize thestorage assembly using at least some of the custom design optionsdescribed above in connection with performance of the process 50.

Although preferred embodiments of the present invention have beendescribed and illustrated, it will be apparent to those skilled in theart that various modifications may be made without departing from theprinciples of the invention.

1. A method for automated custom design of a storage assembly from aremote location connected to the internet comprising: defining a storagelocation at a remote user terminal, wherein the defining is accomplishedby drawing the walls of the storage location on a display on the userterminal, and wherein the drawing provides the length of each wall andthe relative angles of each wall to the other walls, thereby creating adefinition for the storage location; providing the definition for thestorage location to a centralized computer processing and network serversystem connected to the internet; computing usable space for the storagelocation based on the definition of the storage location, wherein theusable space satisfies allowance rules based on closet designprinciples; automatically generating a recommended layout for a storageassembly based on the computed usable space, wherein the storageassembly and includes at least one unit is comprised of one or morecomponents; displaying the recommended layout for the storage assemblyon the remote terminal; automatically generating specifications formanufacturing the components of the storage assembly; manufacturing thecomponents of the storage assembly based on the specifications; andshipping the components of the storage assembly to an address providedby the remote user.
 2. The method of claim 1 further comprising:displaying at the terminal custom design options selectable by the userfor customizing the storage assembly; and automatically displaying atthe terminal the customized storage assembly and associated pricinginformation, wherein the pricing information corresponds to customdesign options selected by the user for customizing the storageassembly.
 3. The method of claim 2 further comprising: automaticallymodifying the recommended layout of the storage assembly, subject to theallowance rules, to maximize fit into the usable space based on thecustom design options selected by the user.
 4. The method of claim 3,wherein the pricing information includes pricing for the entire storageassembly and for the selected unit within the storage assembly beingcustomized.
 5. The method of claim 2, wherein the pricing informationfurther includes electronic transaction information.
 6. The method ofclaim 1 further comprising: automatically displaying at the terminal anupdated recommended layout for the storage assembly based on a unitmodification entered by the user at the terminal, wherein a unit in theupdated recommended layout is automatically modified in size based onthe unit modification, subject to the allowance rules, to maximize fitinto the usable space.
 7. The method of claim 1 further comprising:displaying at the terminal a menu containing custom design options for aselected unit of the storage assembly; and automatically displaying atthe terminal the selected unit of the storage assembly as modified bythe design options selected by the user.
 8. The method of claim 7,wherein the custom design options for the selected unit include customdesign options for a section and an item within the section.
 9. Themethod of claim 1, wherein the unit includes at least one section andthe section includes at least one item.
 10. The method of claim 1further comprising the step of automatically generating installationinstructions for components of the storage assembly.
 11. The method ofclaim 1 wherein the manufacturing facility is linked to the centralizedcomputer processing and network server system and wherein thespecifications for the components of the storage assembly isautomatically provided to a manufacturing facility.
 12. The method ofclaim 11 wherein the manufacturing facility contains computer controlledequipment for manufacturing the components and the components areautomatically manufactured when provided with the specifications.
 13. Asystem for automated custom design of a storage assembly from a remotelocation comprising: a remote user terminal including communicationscapabilities; a central automated custom storage assembly design modulehaving communications capabilities to communicate with the remote userterminal; wherein the design module computes usable space for a storagelocation based on a drawing of the storage location supplied from theremote user terminal over a communications medium, wherein the drawingprovides the length of each wall and the relative angles of each wall tothe other walls and the computed usable space satisfies allowance rules;wherein the design module automatically generates based on the usablespace and displays at the user terminal a recommended layout for astorage assembly, wherein the storage assembly includes at least oneunit and is comprised of components; wherein the design module displaysat the terminal custom design options selectable by the user forcustomizing the storage assembly; and wherein the design moduleautomatically displays at the terminal the customized storage assemblyand associated pricing information, wherein the pricing informationcorresponds to custom design options selected by the user forcustomizing the storage assembly wherein the design module generatesspecifications for manufacturing of the components of the customizedstorage assembly and a purchasing module wherein the purchasing modulereceive the specifications for the design module and automaticallyprovides for the manufacture of components of the customized storageassembly.
 14. The system of claim 13, wherein the design moduleautomatically generates and displays at the user terminal an updatedrecommended layout based on a unit modification entered by the user atthe terminal, wherein a unit in the updated recommended layout isautomatically modified in size based on the unit modification, subjectto the allowance rules, to maximize fit into the usable space.
 15. Thesystem of claim 13, wherein the design module displays at the userterminal a menu containing custom design options for a unit of thestorage assembly and automatically displays at the user terminal theselected unit including the custom design options selected by the user.16. The system of claim 13, wherein the custom design options for theunit include custom design choices for a section and an item within thesection.
 17. The system of claim 13, wherein the design moduleautomatically modifies the recommended layout for the storage assembly,subject to the allowance rules, to maximize fit into the usable spacebased on the custom design options selected by the user.
 18. The systemof claim 13, wherein the pricing information includes pricing for thestorage assembly and for the unit within the storage assembly undergoingcustom design.
 19. The system of claim 13, wherein the pricinginformation includes electronic transaction information.
 20. The systemof claim 13, wherein the design module transmits an electronic messagelink to the user terminal including the recommended layout for thestorage assembly, a predetermined number of selectable design choicesfor modifying at least one unit of the recommended layout and purchasingand electronic transaction information.
 21. The system of claim 13,wherein the unit includes at least one section and the section includesat least one item.